Remove GtkActionGroup
authorTimm Bäder <mail@baedert.org>
Sun, 16 Oct 2016 18:46:37 +0000 (20:46 +0200)
committerBenjamin Otte <otte@redhat.com>
Mon, 17 Oct 2016 22:34:41 +0000 (00:34 +0200)
15 files changed:
docs/reference/gtk/gtk4-sections.txt
gtk/deprecated/Makefile.inc
gtk/deprecated/gtkaction.c
gtk/deprecated/gtkactiongroup.c [deleted file]
gtk/deprecated/gtkactiongroup.h [deleted file]
gtk/gtk.h
tests/Makefile.am
tests/testactions.c [deleted file]
tests/testgtk.c
testsuite/gtk/builder.c
testsuite/gtk/notify.c
testsuite/reftests/linear-gradient-transition-to-other.ref.ui
testsuite/reftests/linear-gradient-transition-to-other.ui
testsuite/reftests/simple.ref.ui
testsuite/reftests/simple.ui

index 0c128eeb3f64df44a8ed0efe1ab2d90b537dc0b3..72091a924e2a08ac6d8ace43bef19b7a68561cf6 100644 (file)
@@ -256,49 +256,6 @@ GTK_TYPE_ACTIVATABLE
 gtk_activatable_get_type
 </SECTION>
 
-<SECTION>
-<FILE>gtkactiongroup</FILE>
-<TITLE>GtkActionGroup</TITLE>
-GtkActionGroup
-GtkActionGroupClass
-gtk_action_group_new
-gtk_action_group_get_name
-gtk_action_group_get_sensitive
-gtk_action_group_set_sensitive
-gtk_action_group_get_visible
-gtk_action_group_set_visible
-gtk_action_group_get_accel_group
-gtk_action_group_set_accel_group
-gtk_action_group_get_action
-gtk_action_group_list_actions
-gtk_action_group_add_action
-gtk_action_group_add_action_with_accel
-gtk_action_group_remove_action
-GtkActionEntry
-gtk_action_group_add_actions
-gtk_action_group_add_actions_full
-GtkToggleActionEntry
-gtk_action_group_add_toggle_actions
-gtk_action_group_add_toggle_actions_full
-GtkRadioActionEntry
-gtk_action_group_add_radio_actions
-gtk_action_group_add_radio_actions_full
-GtkTranslateFunc
-gtk_action_group_set_translate_func
-gtk_action_group_set_translation_domain
-gtk_action_group_translate_string
-<SUBSECTION Standard>
-GTK_TYPE_ACTION_GROUP
-GTK_ACTION_GROUP
-GTK_ACTION_GROUP_CLASS
-GTK_IS_ACTION_GROUP
-GTK_IS_ACTION_GROUP_CLASS
-GTK_ACTION_GROUP_GET_CLASS
-<SUBSECTION Private>
-gtk_action_group_get_type
-GtkActionGroupPrivate
-</SECTION>
-
 <SECTION>
 <FILE>gtkadjustment</FILE>
 <TITLE>GtkAdjustment</TITLE>
index 03181543b941a558747bb2f86875e778a90b35b4..0a6ebb84767bef74697e4722161d8b7b367c876d 100644 (file)
@@ -1,6 +1,5 @@
 deprecated_h_sources =                         \
        deprecated/gtkaction.h          \
-       deprecated/gtkactiongroup.h     \
        deprecated/gtkgradient.h        \
        deprecated/gtksymboliccolor.h
 
@@ -10,6 +9,5 @@ deprecated_private_h_sources =                 \
 
 deprecated_c_sources =                         \
        deprecated/gtkaction.c          \
-       deprecated/gtkactiongroup.c     \
        deprecated/gtkgradient.c        \
        deprecated/gtksymboliccolor.c
index d0adf04e84fd0ef0f096fd2a08fe7c4a5c89ec40..55c79a4d11497ddf004f46f842033be394689772 100644 (file)
@@ -129,8 +129,6 @@ struct _GtkActionPrivate
   GClosure      *accel_closure;
   GQuark         accel_quark;
 
-  GtkActionGroup *action_group;
-
   /* list of proxy widgets */
   GSList *proxies;
 };
@@ -158,7 +156,6 @@ enum
   PROP_HIDE_IF_EMPTY,
   PROP_SENSITIVE,
   PROP_VISIBLE,
-  PROP_ACTION_GROUP,
   PROP_ALWAYS_SHOW_IMAGE
 };
 
@@ -182,8 +179,6 @@ static void gtk_action_get_property (GObject         *object,
                                     guint            prop_id,
                                     GValue          *value,
                                     GParamSpec      *pspec);
-static void gtk_action_set_action_group (GtkAction     *action,
-                                        GtkActionGroup *action_group);
 
 static GtkWidget *create_menu_item    (GtkAction *action);
 static GtkWidget *create_tool_item    (GtkAction *action);
@@ -475,22 +470,6 @@ gtk_action_class_init (GtkActionClass *klass)
                                                         P_("Whether the action is visible."),
                                                         TRUE,
                                                         GTK_PARAM_READWRITE));
-  /**
-   * GtkAction:action-group:
-   *
-   * The GtkActionGroup this GtkAction is associated with, or NULL
-   * (for internal use).
-   *
-   * Deprecated: 3.10: Lookup the #GAction using g_action_map_lookup_action()
-   * instead
-   */
-  g_object_class_install_property (gobject_class,
-                                  PROP_ACTION_GROUP,
-                                  g_param_spec_object ("action-group",
-                                                        P_("Action Group"),
-                                                        P_("The GtkActionGroup this GtkAction is associated with, or NULL (for internal use)."),
-                                                        GTK_TYPE_ACTION_GROUP,
-                                                        GTK_PARAM_READWRITE));
 
   /**
    * GtkAction:always-show-image:
@@ -569,8 +548,6 @@ gtk_action_init (GtkAction *action)
   g_closure_ref (action->private_data->accel_closure);
   g_closure_sink (action->private_data->accel_closure);
 
-  action->private_data->action_group = NULL;
-
   action->private_data->proxies = NULL;
   action->private_data->gicon = NULL;  
 }
@@ -713,9 +690,6 @@ gtk_action_set_property (GObject         *object,
     case PROP_VISIBLE:
       gtk_action_set_visible (action, g_value_get_boolean (value));
       break;
-    case PROP_ACTION_GROUP:
-      gtk_action_set_action_group (action, g_value_get_object (value));
-      break;
     case PROP_ALWAYS_SHOW_IMAGE:
       gtk_action_set_always_show_image (action, g_value_get_boolean (value));
       break;
@@ -779,9 +753,6 @@ gtk_action_get_property (GObject    *object,
     case PROP_VISIBLE:
       g_value_set_boolean (value, action->private_data->visible);
       break;
-    case PROP_ACTION_GROUP:
-      g_value_set_object (value, action->private_data->action_group);
-      break;
     case PROP_ALWAYS_SHOW_IMAGE:
       g_value_set_boolean (value, action->private_data->always_show_image);
       break;
@@ -827,9 +798,6 @@ connect_proxy (GtkAction *action,
 
   g_object_ref_sink (proxy);
 
-  if (action->private_data->action_group)
-    _gtk_action_group_emit_connect_proxy (action->private_data->action_group, action, proxy);
-
 }
 
 static void
@@ -837,11 +805,9 @@ disconnect_proxy (GtkAction *action,
                  GtkWidget *proxy)
 {
   remove_proxy (action, proxy);
-
-  if (action->private_data->action_group)
-    _gtk_action_group_emit_disconnect_proxy (action->private_data->action_group, action, proxy);
 }
 
+
 /**
  * _gtk_action_sync_menu_visible:
  * @action: (allow-none): a #GtkAction, or %NULL to determine the action from @proxy
@@ -887,23 +853,6 @@ _gtk_action_sync_menu_visible (GtkAction *action,
 void
 _gtk_action_emit_activate (GtkAction *action)
 {
-  GtkActionGroup *group = action->private_data->action_group;
-
-  if (group != NULL)
-    {
-      g_object_ref (action);
-      g_object_ref (group);
-      _gtk_action_group_emit_pre_activate (group, action);
-    }
-
-  g_signal_emit (action, action_signals[ACTIVATE], 0);
-
-  if (group != NULL)
-    {
-      _gtk_action_group_emit_post_activate (group, action);
-      g_object_unref (group);
-      g_object_unref (action);
-    }
 }
 
 /**
@@ -1140,9 +1089,7 @@ gtk_action_is_sensitive (GtkAction *action)
   g_return_val_if_fail (GTK_IS_ACTION (action), FALSE);
 
   priv = action->private_data;
-  return priv->sensitive &&
-    (priv->action_group == NULL ||
-     gtk_action_group_get_sensitive (priv->action_group));
+  return priv->sensitive;
 }
 
 /**
@@ -1220,9 +1167,7 @@ gtk_action_is_visible (GtkAction *action)
   g_return_val_if_fail (GTK_IS_ACTION (action), FALSE);
 
   priv = action->private_data;
-  return priv->visible &&
-    (priv->action_group == NULL ||
-     gtk_action_group_get_visible (priv->action_group));
+  return priv->visible;
 }
 
 /**
@@ -1837,17 +1782,6 @@ closure_accel_activate (GClosure     *closure,
     }
 }
 
-static void
-gtk_action_set_action_group (GtkAction     *action,
-                            GtkActionGroup *action_group)
-{
-  if (action->private_data->action_group == NULL)
-    g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
-  else
-    g_return_if_fail (action_group == NULL);
-
-  action->private_data->action_group = action_group;
-}
 
 /**
  * gtk_action_set_accel_path:
diff --git a/gtk/deprecated/gtkactiongroup.c b/gtk/deprecated/gtkactiongroup.c
deleted file mode 100644 (file)
index 3de54f9..0000000
+++ /dev/null
@@ -1,1565 +0,0 @@
-/*
- * GTK - The GIMP Toolkit
- * Copyright (C) 1998, 1999 Red Hat, Inc.
- * All rights reserved.
- *
- * This Library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This Library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/*
- * Author: James Henstridge <james@daa.com.au>
- *
- * Modified by the GTK+ Team and others 2003.  See the AUTHORS
- * file for a list of people on the GTK+ Team.  See the ChangeLog
- * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
- */
-
-/**
- * SECTION:gtkactiongroup
- * @Short_description: A group of actions
- * @Title: GtkActionGroup
- *
- * Actions are organised into groups. An action group is essentially a
- * map from names to #GtkAction objects.
- *
- * All actions that would make sense to use in a particular context
- * should be in a single group. Multiple action groups may be used for a
- * particular user interface. In fact, it is expected that most nontrivial
- * applications will make use of multiple groups. For example, in an
- * application that can edit multiple documents, one group holding global
- * actions (e.g. quit, about, new), and one group per document holding
- * actions that act on that document (eg. save, cut/copy/paste, etc). Each
- * window’s menus would be constructed from a combination of two action
- * groups.
- *
- * ## Accelerators ## {#Action-Accel}
- *
- * Accelerators are handled by the GTK+ accelerator map. All actions are
- * assigned an accelerator path (which normally has the form
- * `<Actions>/group-name/action-name`) and a shortcut is associated with
- * this accelerator path. All menuitems and toolitems take on this accelerator
- * path. The GTK+ accelerator map code makes sure that the correct shortcut
- * is displayed next to the menu item.
- *
- * # GtkActionGroup as GtkBuildable # {#GtkActionGroup-BUILDER-UI}
- *
- * The #GtkActionGroup implementation of the #GtkBuildable interface accepts
- * #GtkAction objects as <child> elements in UI definitions.
- *
- * Note that it is probably more common to define actions and action groups
- * in the code, since they are directly related to what the code can do.
- *
- * The GtkActionGroup implementation of the GtkBuildable interface supports
- * a custom <accelerator> element, which has attributes named “key“ and
- * “modifiers“ and allows to specify accelerators. This is similar to the
- * <accelerator> element of #GtkWidget, the main difference is that
- * it doesn’t allow you to specify a signal.
- *
- * ## A #GtkDialog UI definition fragment. ##
- * |[
- * <object class="GtkActionGroup" id="actiongroup">
- *   <child>
- *       <object class="GtkAction" id="About">
- *           <property name="name">About</property>
- *           <property name="stock_id">gtk-about</property>
- *           <signal handler="about_activate" name="activate"/>
- *       </object>
- *       <accelerator key="F1" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK"/>
- *   </child>
- * </object>
- * ]|
- *
- */
-
-#include "config.h"
-#include <string.h>
-
-#define GDK_DISABLE_DEPRECATION_WARNINGS
-
-#include "gtkactiongroup.h"
-#include "gtkbuildable.h"
-#include "gtkicontheme.h"
-#include "gtkaccelmap.h"
-#include "gtkmarshalers.h"
-#include "gtkbuilderprivate.h"
-#include "gtkprivate.h"
-#include "gtkintl.h"
-
-
-struct _GtkActionGroupPrivate 
-{
-  gchar           *name;
-  gboolean        sensitive;
-  gboolean        visible;
-  GHashTable      *actions;
-  GtkAccelGroup   *accel_group;
-
-  gpointer         translate_data;
-  GDestroyNotify   translate_notify;
-};
-
-enum 
-{
-  CONNECT_PROXY,
-  DISCONNECT_PROXY,
-  PRE_ACTIVATE,
-  POST_ACTIVATE,
-  LAST_SIGNAL
-};
-
-enum 
-{
-  PROP_0,
-  PROP_NAME,
-  PROP_SENSITIVE,
-  PROP_VISIBLE,
-  PROP_ACCEL_GROUP
-};
-
-static void       gtk_action_group_finalize        (GObject             *object);
-static void       gtk_action_group_set_property    (GObject             *object,
-                                                   guint                prop_id,
-                                                   const GValue        *value,
-                                                   GParamSpec          *pspec);
-static void       gtk_action_group_get_property    (GObject             *object,
-                                                   guint                prop_id,
-                                                   GValue              *value,
-                                                   GParamSpec          *pspec);
-static GtkAction *gtk_action_group_real_get_action (GtkActionGroup      *self,
-                                                   const gchar         *name);
-
-/* GtkBuildable */
-static void gtk_action_group_buildable_init (GtkBuildableIface *iface);
-static void gtk_action_group_buildable_add_child (GtkBuildable  *buildable,
-                                                 GtkBuilder    *builder,
-                                                 GObject       *child,
-                                                 const gchar   *type);
-static void gtk_action_group_buildable_set_name (GtkBuildable *buildable,
-                                                const gchar  *name);
-static const gchar* gtk_action_group_buildable_get_name (GtkBuildable *buildable);
-static gboolean gtk_action_group_buildable_custom_tag_start (GtkBuildable     *buildable,
-                                                            GtkBuilder       *builder,
-                                                            GObject          *child,
-                                                            const gchar      *tagname,
-                                                            GMarkupParser    *parser,
-                                                            gpointer         *data);
-static void gtk_action_group_buildable_custom_tag_end (GtkBuildable *buildable,
-                                                      GtkBuilder   *builder,
-                                                      GObject      *child,
-                                                      const gchar  *tagname,
-                                                      gpointer     *user_data);
-
-static guint         action_group_signals[LAST_SIGNAL] = { 0 };
-
-G_DEFINE_TYPE_WITH_CODE (GtkActionGroup, gtk_action_group, G_TYPE_OBJECT,
-                         G_ADD_PRIVATE (GtkActionGroup)
-                         G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
-                                                gtk_action_group_buildable_init))
-
-static void
-gtk_action_group_class_init (GtkActionGroupClass *klass)
-{
-  GObjectClass *gobject_class;
-
-  gobject_class = G_OBJECT_CLASS (klass);
-
-  gobject_class->finalize = gtk_action_group_finalize;
-  gobject_class->set_property = gtk_action_group_set_property;
-  gobject_class->get_property = gtk_action_group_get_property;
-  klass->get_action = gtk_action_group_real_get_action;
-
-  /**
-   * GtkActionGroup:name:
-   *
-   * A name for the action.
-   *
-   * Deprecated: 3.10
-   */
-  g_object_class_install_property (gobject_class,
-                                  PROP_NAME,
-                                  g_param_spec_string ("name",
-                                                       P_("Name"),
-                                                       P_("A name for the action group."),
-                                                       NULL,
-                                                       GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-  /**
-   * GtkActionGroup:sensitive:
-   *
-   * Whether the action group is enabled.
-   *
-   * Deprecated: 3.10
-   */
-  g_object_class_install_property (gobject_class,
-                                  PROP_SENSITIVE,
-                                  g_param_spec_boolean ("sensitive",
-                                                        P_("Sensitive"),
-                                                        P_("Whether the action group is enabled."),
-                                                        TRUE,
-                                                        GTK_PARAM_READWRITE));
-  /**
-   * GtkActionGroup:visible:
-   *
-   * Whether the action group is visible.
-   *
-   * Deprecated: 3.10
-   */
-  g_object_class_install_property (gobject_class,
-                                  PROP_VISIBLE,
-                                  g_param_spec_boolean ("visible",
-                                                        P_("Visible"),
-                                                        P_("Whether the action group is visible."),
-                                                        TRUE,
-                                                        GTK_PARAM_READWRITE));
-  /**
-   * GtkActionGroup:accel-group:
-   *
-   * The accelerator group the actions of this group should use.
-   *
-   * Deprecated: 3.10
-   */
-  g_object_class_install_property (gobject_class,
-                                  PROP_ACCEL_GROUP,
-                                  g_param_spec_object ("accel-group",
-                                                       P_("Accelerator Group"),
-                                                       P_("The accelerator group the actions of this group should use."),
-                                                       GTK_TYPE_ACCEL_GROUP,
-                                                       GTK_PARAM_READWRITE));
-
-  /**
-   * GtkActionGroup::connect-proxy:
-   * @action_group: the group
-   * @action: the action
-   * @proxy: the proxy
-   *
-   * The ::connect-proxy signal is emitted after connecting a proxy to 
-   * an action in the group. Note that the proxy may have been connected 
-   * to a different action before.
-   *
-   * This is intended for simple customizations for which a custom action
-   * class would be too clumsy, e.g. showing tooltips for menuitems in the
-   * statusbar.
-   *
-   * #GtkUIManager proxies the signal and provides global notification 
-   * just before any action is connected to a proxy, which is probably more
-   * convenient to use.
-   *
-   * Since: 2.4
-   *
-   * Deprecated: 3.10
-   */
-  action_group_signals[CONNECT_PROXY] =
-    g_signal_new (I_("connect-proxy"),
-                 G_OBJECT_CLASS_TYPE (klass),
-                 0, 0, NULL, NULL,
-                 _gtk_marshal_VOID__OBJECT_OBJECT,
-                 G_TYPE_NONE, 2,
-                 GTK_TYPE_ACTION, GTK_TYPE_WIDGET);
-
-  /**
-   * GtkActionGroup::disconnect-proxy:
-   * @action_group: the group
-   * @action: the action
-   * @proxy: the proxy
-   *
-   * The ::disconnect-proxy signal is emitted after disconnecting a proxy 
-   * from an action in the group. 
-   *
-   * #GtkUIManager proxies the signal and provides global notification 
-   * just before any action is connected to a proxy, which is probably more
-   * convenient to use.
-   *
-   * Since: 2.4
-   *
-   * Deprecated: 3.10
-   */
-  action_group_signals[DISCONNECT_PROXY] =
-    g_signal_new (I_("disconnect-proxy"),
-                 G_OBJECT_CLASS_TYPE (klass),
-                 0, 0, NULL, NULL,
-                 _gtk_marshal_VOID__OBJECT_OBJECT,
-                 G_TYPE_NONE, 2, 
-                 GTK_TYPE_ACTION, GTK_TYPE_WIDGET);
-
-  /**
-   * GtkActionGroup::pre-activate:
-   * @action_group: the group
-   * @action: the action
-   *
-   * The ::pre-activate signal is emitted just before the @action in the
-   * @action_group is activated
-   *
-   * This is intended for #GtkUIManager to proxy the signal and provide global
-   * notification just before any action is activated.
-   *
-   * Since: 2.4
-   *
-   * Deprecated: 3.10
-   */
-  action_group_signals[PRE_ACTIVATE] =
-    g_signal_new (I_("pre-activate"),
-                 G_OBJECT_CLASS_TYPE (klass),
-                 0, 0, NULL, NULL,
-                 NULL,
-                 G_TYPE_NONE, 1, 
-                 GTK_TYPE_ACTION);
-
-  /**
-   * GtkActionGroup::post-activate:
-   * @action_group: the group
-   * @action: the action
-   *
-   * The ::post-activate signal is emitted just after the @action in the
-   * @action_group is activated
-   *
-   * This is intended for #GtkUIManager to proxy the signal and provide global
-   * notification just after any action is activated.
-   *
-   * Since: 2.4
-   *
-   * Deprecated: 3.10
-   */
-  action_group_signals[POST_ACTIVATE] =
-    g_signal_new (I_("post-activate"),
-                 G_OBJECT_CLASS_TYPE (klass),
-                 0, 0, NULL, NULL,
-                 NULL,
-                 G_TYPE_NONE, 1, 
-                 GTK_TYPE_ACTION);
-}
-
-
-static void 
-remove_action (GtkAction *action) 
-{
-  g_object_set (action, I_("action-group"), NULL, NULL);
-  g_object_unref (action);
-}
-
-static void
-gtk_action_group_init (GtkActionGroup *action_group)
-{
-  action_group->priv = gtk_action_group_get_instance_private (action_group);
-  action_group->priv->name = NULL;
-  action_group->priv->sensitive = TRUE;
-  action_group->priv->visible = TRUE;
-  action_group->priv->actions = g_hash_table_new_full (g_str_hash, g_str_equal,
-                                                       NULL,
-                                                       (GDestroyNotify) remove_action);
-  action_group->priv->translate_data = NULL;
-  action_group->priv->translate_notify = NULL;
-}
-
-static void
-gtk_action_group_buildable_init (GtkBuildableIface *iface)
-{
-  iface->add_child = gtk_action_group_buildable_add_child;
-  iface->set_name = gtk_action_group_buildable_set_name;
-  iface->get_name = gtk_action_group_buildable_get_name;
-  iface->custom_tag_start = gtk_action_group_buildable_custom_tag_start;
-  iface->custom_tag_end = gtk_action_group_buildable_custom_tag_end;
-}
-
-static void
-gtk_action_group_buildable_add_child (GtkBuildable  *buildable,
-                                     GtkBuilder    *builder,
-                                     GObject       *child,
-                                     const gchar   *type)
-{
-  gtk_action_group_add_action_with_accel (GTK_ACTION_GROUP (buildable),
-                                         GTK_ACTION (child), NULL);
-}
-
-static void
-gtk_action_group_buildable_set_name (GtkBuildable *buildable,
-                                    const gchar  *name)
-{
-  GtkActionGroup *self = GTK_ACTION_GROUP (buildable);
-  GtkActionGroupPrivate *private = self->priv;
-
-  private->name = g_strdup (name);
-}
-
-static const gchar *
-gtk_action_group_buildable_get_name (GtkBuildable *buildable)
-{
-  GtkActionGroup *self = GTK_ACTION_GROUP (buildable);
-  GtkActionGroupPrivate *private = self->priv;
-
-  return private->name;
-}
-
-typedef struct {
-  GObject         *child;
-  guint            key;
-  GdkModifierType  modifiers;
-} AcceleratorParserData;
-
-static void
-accelerator_start_element (GMarkupParseContext *context,
-                          const gchar         *element_name,
-                          const gchar        **names,
-                          const gchar        **values,
-                          gpointer             user_data,
-                          GError             **error)
-{
-  gint i;
-  guint key = 0;
-  GdkModifierType modifiers = 0;
-  AcceleratorParserData *parser_data = (AcceleratorParserData*)user_data;
-
-  if (strcmp (element_name, "accelerator") != 0)
-    g_warning ("Unknown <accelerator> tag: %s", element_name);
-
-  for (i = 0; names[i]; i++)
-    {
-      if (strcmp (names[i], "key") == 0)
-       key = gdk_keyval_from_name (values[i]);
-      else if (strcmp (names[i], "modifiers") == 0)
-       {
-         if (!_gtk_builder_flags_from_string (GDK_TYPE_MODIFIER_TYPE,
-                                               NULL,
-                                              values[i],
-                                              &modifiers,
-                                              error))
-             return;
-       }
-    }
-
-  if (key == 0)
-    {
-      g_warning ("<accelerator> requires a key attribute");
-      return;
-    }
-  parser_data->key = key;
-  parser_data->modifiers = modifiers;
-}
-
-static const GMarkupParser accelerator_parser =
-  {
-    accelerator_start_element
-  };
-
-static gboolean
-gtk_action_group_buildable_custom_tag_start (GtkBuildable     *buildable,
-                                            GtkBuilder       *builder,
-                                            GObject          *child,
-                                            const gchar      *tagname,
-                                            GMarkupParser    *parser,
-                                            gpointer         *user_data)
-{
-  AcceleratorParserData *parser_data;
-
-  if (child && strcmp (tagname, "accelerator") == 0)
-    {
-      parser_data = g_slice_new0 (AcceleratorParserData);
-      parser_data->child = child;
-      *user_data = parser_data;
-      *parser = accelerator_parser;
-
-      return TRUE;
-    }
-  return FALSE;
-}
-
-static void
-gtk_action_group_buildable_custom_tag_end (GtkBuildable *buildable,
-                                          GtkBuilder   *builder,
-                                          GObject      *child,
-                                          const gchar  *tagname,
-                                          gpointer     *user_data)
-{
-  AcceleratorParserData *data;
-  
-  if (strcmp (tagname, "accelerator") == 0)
-    {
-      GtkActionGroup *action_group;
-      GtkActionGroupPrivate *private;
-      GtkAction *action;
-      gchar *accel_path;
-      
-      data = (AcceleratorParserData*)user_data;
-      action_group = GTK_ACTION_GROUP (buildable);
-      private = action_group->priv;
-      action = GTK_ACTION (child);
-       
-      accel_path = g_strconcat ("<Actions>/",
-                               private->name, "/",
-                               gtk_action_get_name (action), NULL);
-
-      if (gtk_accel_map_lookup_entry (accel_path, NULL))
-       gtk_accel_map_change_entry (accel_path, data->key, data->modifiers, TRUE);
-      else
-       gtk_accel_map_add_entry (accel_path, data->key, data->modifiers);
-
-      gtk_action_set_accel_path (action, accel_path);
-      
-      g_free (accel_path);
-      g_slice_free (AcceleratorParserData, data);
-    }
-}
-
-/**
- * gtk_action_group_new:
- * @name: the name of the action group.
- *
- * Creates a new #GtkActionGroup object. The name of the action group
- * is used when associating [keybindings][Action-Accel] 
- * with the actions.
- *
- * Returns: the new #GtkActionGroup
- *
- * Since: 2.4
- *
- * Deprecated: 3.10
- */
-GtkActionGroup *
-gtk_action_group_new (const gchar *name)
-{
-  GtkActionGroup *self;
-  GtkActionGroupPrivate *private;
-
-  self = g_object_new (GTK_TYPE_ACTION_GROUP, NULL);
-  private = self->priv;
-  private->name = g_strdup (name);
-
-  return self;
-}
-
-static void
-gtk_action_group_finalize (GObject *object)
-{
-  GtkActionGroup *self = GTK_ACTION_GROUP (object);
-
-  g_free (self->priv->name);
-
-  g_hash_table_destroy (self->priv->actions);
-
-  g_clear_object (&self->priv->accel_group);
-
-  if (self->priv->translate_notify != NULL)
-    self->priv->translate_notify (self->priv->translate_data);
-
-  G_OBJECT_CLASS (gtk_action_group_parent_class)->finalize (object);
-}
-
-static void
-gtk_action_group_set_property (GObject         *object,
-                              guint            prop_id,
-                              const GValue    *value,
-                              GParamSpec      *pspec)
-{
-  GtkActionGroup *self;
-  GtkActionGroupPrivate *private;
-  gchar *tmp;
-  
-  self = GTK_ACTION_GROUP (object);
-  private = self->priv;
-
-  switch (prop_id)
-    {
-    case PROP_NAME:
-      tmp = private->name;
-      private->name = g_value_dup_string (value);
-      g_free (tmp);
-      break;
-    case PROP_SENSITIVE:
-      gtk_action_group_set_sensitive (self, g_value_get_boolean (value));
-      break;
-    case PROP_VISIBLE:
-      gtk_action_group_set_visible (self, g_value_get_boolean (value));
-      break;
-    case PROP_ACCEL_GROUP:
-      gtk_action_group_set_accel_group (self, g_value_get_object (value));
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-static void
-gtk_action_group_get_property (GObject    *object,
-                              guint       prop_id,
-                              GValue     *value,
-                              GParamSpec *pspec)
-{
-  GtkActionGroup *self;
-  GtkActionGroupPrivate *private;
-  
-  self = GTK_ACTION_GROUP (object);
-  private = self->priv;
-
-  switch (prop_id)
-    {
-    case PROP_NAME:
-      g_value_set_string (value, private->name);
-      break;
-    case PROP_SENSITIVE:
-      g_value_set_boolean (value, private->sensitive);
-      break;
-    case PROP_VISIBLE:
-      g_value_set_boolean (value, private->visible);
-      break;
-    case PROP_ACCEL_GROUP:
-      g_value_set_object (value, private->accel_group);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-static GtkAction *
-gtk_action_group_real_get_action (GtkActionGroup *self,
-                                 const gchar    *action_name)
-{
-  GtkActionGroupPrivate *private;
-
-  private = self->priv;
-
-  return g_hash_table_lookup (private->actions, action_name);
-}
-
-/**
- * gtk_action_group_get_name:
- * @action_group: the action group
- *
- * Gets the name of the action group.
- *
- * Returns: the name of the action group.
- * 
- * Since: 2.4
- *
- * Deprecated: 3.10
- */
-const gchar *
-gtk_action_group_get_name (GtkActionGroup *action_group)
-{
-  GtkActionGroupPrivate *private;
-
-  g_return_val_if_fail (GTK_IS_ACTION_GROUP (action_group), NULL);
-
-  private = action_group->priv;
-
-  return private->name;
-}
-
-/**
- * gtk_action_group_get_sensitive:
- * @action_group: the action group
- *
- * Returns %TRUE if the group is sensitive.  The constituent actions
- * can only be logically sensitive (see gtk_action_is_sensitive()) if
- * they are sensitive (see gtk_action_get_sensitive()) and their group
- * is sensitive.
- * 
- * Returns: %TRUE if the group is sensitive.
- *
- * Since: 2.4
- *
- * Deprecated: 3.10
- */
-gboolean
-gtk_action_group_get_sensitive (GtkActionGroup *action_group)
-{
-  GtkActionGroupPrivate *private;
-
-  g_return_val_if_fail (GTK_IS_ACTION_GROUP (action_group), FALSE);
-
-  private = action_group->priv;
-
-  return private->sensitive;
-}
-
-static void
-cb_set_action_sensitivity (const gchar *name, 
-                          GtkAction   *action)
-{
-  /* Minor optimization, the action_groups state only affects actions 
-   * that are themselves sensitive */
-  g_object_notify (G_OBJECT (action), "sensitive");
-
-}
-
-/**
- * gtk_action_group_set_sensitive:
- * @action_group: the action group
- * @sensitive: new sensitivity
- *
- * Changes the sensitivity of @action_group
- * 
- * Since: 2.4
- *
- * Deprecated: 3.10
- */
-void
-gtk_action_group_set_sensitive (GtkActionGroup *action_group, 
-                               gboolean        sensitive)
-{
-  GtkActionGroupPrivate *private;
-
-  g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
-
-  private = action_group->priv;
-  sensitive = sensitive != FALSE;
-
-  if (private->sensitive != sensitive)
-    {
-      private->sensitive = sensitive;
-      g_hash_table_foreach (private->actions, 
-                           (GHFunc) cb_set_action_sensitivity, NULL);
-
-      g_object_notify (G_OBJECT (action_group), "sensitive");
-    }
-}
-
-/**
- * gtk_action_group_get_visible:
- * @action_group: the action group
- *
- * Returns %TRUE if the group is visible.  The constituent actions
- * can only be logically visible (see gtk_action_is_visible()) if
- * they are visible (see gtk_action_get_visible()) and their group
- * is visible.
- * 
- * Returns: %TRUE if the group is visible.
- * 
- * Since: 2.4
- *
- * Deprecated: 3.10
- */
-gboolean
-gtk_action_group_get_visible (GtkActionGroup *action_group)
-{
-  GtkActionGroupPrivate *private;
-
-  g_return_val_if_fail (GTK_IS_ACTION_GROUP (action_group), FALSE);
-
-  private = action_group->priv;
-
-  return private->visible;
-}
-
-/**
- * gtk_action_group_get_accel_group:
- * @action_group: a #GtkActionGroup
- *
- * Gets the accelerator group.
- * 
- * Returns: (transfer none): the accelerator group associated with this action
- * group or %NULL if there is none.
- *
- * Since: 3.6
- *
- * Deprecated: 3.10
- */
-GtkAccelGroup *
-gtk_action_group_get_accel_group (GtkActionGroup *action_group)
-{
-  g_return_val_if_fail (GTK_IS_ACTION_GROUP (action_group), FALSE);
-
-  return action_group->priv->accel_group;
-}
-
-static void
-cb_set_action_visiblity (const gchar *name, 
-                        GtkAction   *action)
-{
-  /* Minor optimization, the action_groups state only affects actions 
-   * that are themselves visible */
-  g_object_notify (G_OBJECT (action), "visible");
-}
-
-/**
- * gtk_action_group_set_visible:
- * @action_group: the action group
- * @visible: new visiblity
- *
- * Changes the visible of @action_group.
- * 
- * Since: 2.4
- *
- * Deprecated: 3.10
- */
-void
-gtk_action_group_set_visible (GtkActionGroup *action_group, 
-                             gboolean        visible)
-{
-  GtkActionGroupPrivate *private;
-
-  g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
-
-  private = action_group->priv;
-  visible = visible != FALSE;
-
-  if (private->visible != visible)
-    {
-      private->visible = visible;
-      g_hash_table_foreach (private->actions, 
-                           (GHFunc) cb_set_action_visiblity, NULL);
-
-      g_object_notify (G_OBJECT (action_group), "visible");
-    }
-}
-
-static void 
-gtk_action_group_accel_group_foreach (gpointer key, gpointer val, gpointer data)
-{
-  gtk_action_set_accel_group (val, data);
-}
-
-/**
- * gtk_action_group_set_accel_group:
- * @action_group: a #GtkActionGroup
- * @accel_group: (allow-none): a #GtkAccelGroup to set or %NULL
- *
- * Sets the accelerator group to be used by every action in this group.
- * 
- * Since: 3.6
- *
- * Deprecated: 3.10
- */
-void
-gtk_action_group_set_accel_group (GtkActionGroup *action_group,
-                                  GtkAccelGroup  *accel_group)
-{
-  GtkActionGroupPrivate *private;
-
-  g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
-
-  private = action_group->priv;
-
-  if (private->accel_group == accel_group)
-    return;
-
-  g_clear_object (&private->accel_group);
-
-  if (accel_group)
-    private->accel_group = g_object_ref (accel_group);
-
-  /* Set the new accel group on every action */
-  g_hash_table_foreach (private->actions,
-                        gtk_action_group_accel_group_foreach,
-                        accel_group);
-
-  g_object_notify (G_OBJECT (action_group), "accel-group");
-}
-
-/**
- * gtk_action_group_get_action:
- * @action_group: the action group
- * @action_name: the name of the action
- *
- * Looks up an action in the action group by name.
- *
- * Returns: (transfer none): the action, or %NULL if no action by that name exists
- *
- * Since: 2.4
- *
- * Deprecated: 3.10
- */
-GtkAction *
-gtk_action_group_get_action (GtkActionGroup *action_group,
-                            const gchar    *action_name)
-{
-  g_return_val_if_fail (GTK_IS_ACTION_GROUP (action_group), NULL);
-  g_return_val_if_fail (GTK_ACTION_GROUP_GET_CLASS (action_group)->get_action != NULL, NULL);
-
-  return GTK_ACTION_GROUP_GET_CLASS (action_group)->get_action (action_group,
-                                                                action_name);
-}
-
-static gboolean
-check_unique_action (GtkActionGroup *action_group,
-                    const gchar    *action_name)
-{
-  if (gtk_action_group_get_action (action_group, action_name) != NULL)
-    {
-      GtkActionGroupPrivate *private;
-
-      private = action_group->priv;
-
-      g_warning ("Refusing to add non-unique action '%s' to action group '%s'",
-                action_name,
-                private->name);
-      return FALSE;
-    }
-
-  return TRUE;
-}
-
-/**
- * gtk_action_group_add_action:
- * @action_group: the action group
- * @action: an action
- *
- * Adds an action object to the action group. Note that this function
- * does not set up the accel path of the action, which can lead to problems
- * if a user tries to modify the accelerator of a menuitem associated with
- * the action. Therefore you must either set the accel path yourself with
- * gtk_action_set_accel_path(), or use 
- * `gtk_action_group_add_action_with_accel (..., NULL)`.
- *
- * Since: 2.4
- *
- * Deprecated: 3.10
- */
-void
-gtk_action_group_add_action (GtkActionGroup *action_group,
-                            GtkAction      *action)
-{
-  GtkActionGroupPrivate *private;
-  const gchar *name;
-
-  g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
-  g_return_if_fail (GTK_IS_ACTION (action));
-
-  name = gtk_action_get_name (action);
-  g_return_if_fail (name != NULL);
-  
-  if (!check_unique_action (action_group, name))
-    return;
-
-  private = action_group->priv;
-
-  g_hash_table_insert (private->actions, 
-                      (gpointer) name,
-                       g_object_ref (action));
-  g_object_set (action, I_("action-group"), action_group, NULL);
-  
-  if (private->accel_group)
-    gtk_action_set_accel_group (action, private->accel_group);
-}
-
-/**
- * gtk_action_group_add_action_with_accel:
- * @action_group: the action group
- * @action: the action to add
- * @accelerator: (allow-none): the accelerator for the action, in
- *   the format understood by gtk_accelerator_parse(), or "" for no accelerator, or
- *   %NULL to use the stock accelerator
- *
- * Adds an action object to the action group and sets up the accelerator.
- *
- * If @accelerator is %NULL, attempts to use the accelerator associated 
- * with the stock_id of the action. 
- *
- * Accel paths are set to `<Actions>/group-name/action-name`.
- *
- * Since: 2.4
- *
- * Deprecated: 3.10
- */
-void
-gtk_action_group_add_action_with_accel (GtkActionGroup *action_group,
-                                       GtkAction      *action,
-                                       const gchar    *accelerator)
-{
-  GtkActionGroupPrivate *private;
-  gchar *accel_path;
-  guint  accel_key = 0;
-  GdkModifierType accel_mods;
-  const gchar *name;
-
-  name = gtk_action_get_name (action);
-  if (!check_unique_action (action_group, name))
-    return;
-
-  private = action_group->priv;
-  accel_path = g_strconcat ("<Actions>/",
-                           private->name, "/", name, NULL);
-
-  if (accelerator)
-    {
-      if (accelerator[0] == 0) 
-       accel_key = 0;
-      else
-       {
-         gtk_accelerator_parse (accelerator, &accel_key, &accel_mods);
-         if (accel_key == 0)
-           g_warning ("Unable to parse accelerator '%s' for action '%s'",
-                      accelerator, name);
-       }
-    }
-  else 
-    {
-      gchar *stock_id;
-
-      g_object_get (action, "stock-id", &stock_id, NULL);
-
-      G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
-
-      G_GNUC_END_IGNORE_DEPRECATIONS;
-
-      g_free (stock_id);
-    }
-
-  if (accel_key)
-    gtk_accel_map_add_entry (accel_path, accel_key, accel_mods);
-
-  gtk_action_set_accel_path (action, accel_path);
-  gtk_action_group_add_action (action_group, action);
-
-  g_free (accel_path);
-}
-
-/**
- * gtk_action_group_remove_action:
- * @action_group: the action group
- * @action: an action
- *
- * Removes an action object from the action group.
- *
- * Since: 2.4
- *
- * Deprecated: 3.10
- */
-void
-gtk_action_group_remove_action (GtkActionGroup *action_group,
-                               GtkAction      *action)
-{
-  GtkActionGroupPrivate *private;
-  const gchar *name;
-
-  g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
-  g_return_if_fail (GTK_IS_ACTION (action));
-
-  name = gtk_action_get_name (action);
-  g_return_if_fail (name != NULL);
-
-  private = action_group->priv;
-
-  g_hash_table_remove (private->actions, name);
-}
-
-static void
-add_single_action (gpointer key, 
-                  gpointer value, 
-                  gpointer user_data)
-{
-  GList **list = user_data;
-
-  *list = g_list_prepend (*list, value);
-}
-
-/**
- * gtk_action_group_list_actions:
- * @action_group: the action group
- *
- * Lists the actions in the action group.
- *
- * Returns: (element-type GtkAction) (transfer container): an allocated list of the action objects in the action group
- *
- * Since: 2.4
- *
- * Deprecated: 3.10
- */
-GList *
-gtk_action_group_list_actions (GtkActionGroup *action_group)
-{
-  GtkActionGroupPrivate *private;
-  GList *actions = NULL;
-
-  g_return_val_if_fail (GTK_IS_ACTION_GROUP (action_group), NULL);
-
-  private = action_group->priv;
-  
-  g_hash_table_foreach (private->actions, add_single_action, &actions);
-
-  return g_list_reverse (actions);
-}
-
-
-/**
- * gtk_action_group_add_actions: (skip)
- * @action_group: the action group
- * @entries: (array length=n_entries): an array of action descriptions
- * @n_entries: the number of entries
- * @user_data: data to pass to the action callbacks
- *
- * This is a convenience function to create a number of actions and add them 
- * to the action group.
- *
- * The “activate” signals of the actions are connected to the callbacks
- * and their accel paths are set to `<Actions>/group-name/action-name`.  
- * 
- * Since: 2.4
- *
- * Deprecated: 3.10
- */
-void
-gtk_action_group_add_actions (GtkActionGroup       *action_group,
-                             const GtkActionEntry *entries,
-                             guint                 n_entries,
-                             gpointer              user_data)
-{
-  gtk_action_group_add_actions_full (action_group, 
-                                    entries, n_entries, 
-                                    user_data, NULL);
-}
-
-typedef struct _SharedData  SharedData;
-
-struct _SharedData {
-  guint          ref_count;
-  gpointer       data;
-  GDestroyNotify destroy;
-};
-
-static void
-shared_data_unref (gpointer data)
-{
-  SharedData *shared_data = (SharedData *)data;
-
-  shared_data->ref_count--;
-  if (shared_data->ref_count == 0)
-    {
-      if (shared_data->destroy)
-       shared_data->destroy (shared_data->data);
-
-      g_slice_free (SharedData, shared_data);
-    }
-}
-
-
-/**
- * gtk_action_group_add_actions_full: (skip)
- * @action_group: the action group
- * @entries: (array length=n_entries): an array of action descriptions
- * @n_entries: the number of entries
- * @user_data: data to pass to the action callbacks
- * @destroy: (nullable): destroy notification callback for @user_data
- *
- * This variant of gtk_action_group_add_actions() adds a #GDestroyNotify
- * callback for @user_data. 
- * 
- * Since: 2.4
- *
- * Deprecated: 3.10
- */
-void
-gtk_action_group_add_actions_full (GtkActionGroup       *action_group,
-                                  const GtkActionEntry *entries,
-                                  guint                 n_entries,
-                                  gpointer              user_data,
-                                  GDestroyNotify        destroy)
-{
-
-  /* Keep this in sync with the other 
-   * gtk_action_group_add_..._actions_full() functions.
-   */
-  guint i;
-  SharedData *shared_data;
-
-  g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
-
-  shared_data = g_slice_new0 (SharedData);
-  shared_data->ref_count = 1;
-  shared_data->data = user_data;
-  shared_data->destroy = destroy;
-
-  for (i = 0; i < n_entries; i++)
-    {
-      GtkAction *action;
-      const gchar *label;
-      const gchar *tooltip;
-
-      if (!check_unique_action (action_group, entries[i].name))
-        continue;
-
-      label = gtk_action_group_translate_string (action_group, entries[i].label);
-      tooltip = gtk_action_group_translate_string (action_group, entries[i].tooltip);
-
-      action = gtk_action_new (entries[i].name,
-                              label,
-                              tooltip,
-                              NULL);
-
-      if (entries[i].stock_id) 
-       {
-         g_object_set (action, "stock-id", entries[i].stock_id, NULL);
-         if (gtk_icon_theme_has_icon (gtk_icon_theme_get_default (), 
-                                      entries[i].stock_id))
-           g_object_set (action, "icon-name", entries[i].stock_id, NULL);
-       }
-         
-      if (entries[i].callback)
-       {
-         GClosure *closure;
-
-         closure = g_cclosure_new (entries[i].callback, user_data, NULL);
-         g_closure_add_finalize_notifier (closure, shared_data, 
-                                          (GClosureNotify)shared_data_unref);
-         shared_data->ref_count++;
-
-         g_signal_connect_closure (action, "activate", closure, FALSE);
-       }
-         
-      gtk_action_group_add_action_with_accel (action_group, 
-                                             action,
-                                             entries[i].accelerator);
-      g_object_unref (action);
-    }
-
-  shared_data_unref (shared_data);
-}
-
-/**
- * gtk_action_group_add_toggle_actions: (skip)
- * @action_group: the action group
- * @entries: (array length=n_entries): an array of toggle action descriptions
- * @n_entries: the number of entries
- * @user_data: data to pass to the action callbacks
- *
- * This is a convenience function to create a number of toggle actions and add them 
- * to the action group.
- *
- * The “activate” signals of the actions are connected to the callbacks
- * and their accel paths are set to `<Actions>/group-name/action-name`.  
- * 
- * Since: 2.4
- *
- * Deprecated: 3.10
- */
-void
-gtk_action_group_add_toggle_actions (GtkActionGroup             *action_group,
-                                    const GtkToggleActionEntry *entries,
-                                    guint                       n_entries,
-                                    gpointer                    user_data)
-{
-  gtk_action_group_add_toggle_actions_full (action_group, 
-                                           entries, n_entries, 
-                                           user_data, NULL);
-}
-
-
-/**
- * gtk_action_group_add_toggle_actions_full: (skip)
- * @action_group: the action group
- * @entries: (array length=n_entries): an array of toggle action descriptions
- * @n_entries: the number of entries
- * @user_data: data to pass to the action callbacks
- * @destroy: (nullable): destroy notification callback for @user_data
- *
- * This variant of gtk_action_group_add_toggle_actions() adds a 
- * #GDestroyNotify callback for @user_data. 
- * 
- * Since: 2.4
- *
- * Deprecated: 3.10
- */
-void
-gtk_action_group_add_toggle_actions_full (GtkActionGroup             *action_group,
-                                         const GtkToggleActionEntry *entries,
-                                         guint                       n_entries,
-                                         gpointer                    user_data,
-                                         GDestroyNotify              destroy)
-{
-  /* Keep this in sync with the other 
-   * gtk_action_group_add_..._actions_full() functions.
-   */
-  guint i;
-  SharedData *shared_data;
-
-  g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
-
-  shared_data = g_slice_new0 (SharedData);
-  shared_data->ref_count = 1;
-  shared_data->data = user_data;
-  shared_data->destroy = destroy;
-
-  for (i = 0; i < n_entries; i++)
-    {
-      GtkAction *action;
-      const gchar *label;
-      const gchar *tooltip;
-
-      if (!check_unique_action (action_group, entries[i].name))
-        continue;
-
-      label = gtk_action_group_translate_string (action_group, entries[i].label);
-      tooltip = gtk_action_group_translate_string (action_group, entries[i].tooltip);
-
-      if (entries[i].stock_id) 
-       {
-          g_object_set (action, "icon-name", entries[i].stock_id, NULL);
-       }
-
-      if (entries[i].callback)
-       {
-         GClosure *closure;
-
-         closure = g_cclosure_new (entries[i].callback, user_data, NULL);
-         g_closure_add_finalize_notifier (closure, shared_data, 
-                                          (GClosureNotify)shared_data_unref);
-         shared_data->ref_count++;
-
-         g_signal_connect_closure (action, "activate", closure, FALSE);
-       }
-         
-      gtk_action_group_add_action_with_accel (action_group, 
-                                             GTK_ACTION (action),
-                                             entries[i].accelerator);
-      g_object_unref (action);
-    }
-
-  shared_data_unref (shared_data);
-}
-
-/**
- * gtk_action_group_add_radio_actions: (skip)
- * @action_group: the action group
- * @entries: (array length=n_entries): an array of radio action descriptions
- * @n_entries: the number of entries
- * @value: the value of the action to activate initially, or -1 if
- *   no action should be activated
- * @on_change: the callback to connect to the changed signal
- * @user_data: data to pass to the action callbacks
- * 
- * This is a convenience routine to create a group of radio actions and
- * add them to the action group. 
- *
- * The “changed” signal of the first radio action is connected to the 
- * @on_change callback and the accel paths of the actions are set to 
- * `<Actions>/group-name/action-name`.  
- * 
- * Since: 2.4
- *
- * Deprecated: 3.10
- **/
-void            
-gtk_action_group_add_radio_actions (GtkActionGroup            *action_group,
-                                   const GtkRadioActionEntry *entries,
-                                   guint                      n_entries,
-                                   gint                       value,
-                                   GCallback                  on_change,
-                                   gpointer                   user_data)
-{
-  gtk_action_group_add_radio_actions_full (action_group, 
-                                          entries, n_entries, 
-                                          value,
-                                          on_change, user_data, NULL);
-}
-
-/**
- * gtk_action_group_add_radio_actions_full: (skip)
- * @action_group: the action group
- * @entries: (array length=n_entries): an array of radio action descriptions
- * @n_entries: the number of entries
- * @value: the value of the action to activate initially, or -1 if
- *   no action should be activated
- * @on_change: the callback to connect to the changed signal
- * @user_data: data to pass to the action callbacks
- * @destroy: destroy notification callback for @user_data
- *
- * This variant of gtk_action_group_add_radio_actions() adds a 
- * #GDestroyNotify callback for @user_data. 
- * 
- * Since: 2.4
- *
- * Deprecated: 3.10
- **/
-void            
-gtk_action_group_add_radio_actions_full (GtkActionGroup            *action_group,
-                                        const GtkRadioActionEntry *entries,
-                                        guint                      n_entries,
-                                        gint                       value,
-                                        GCallback                  on_change,
-                                        gpointer                   user_data,
-                                        GDestroyNotify             destroy)
-{
-  /* Keep this in sync with the other 
-   * gtk_action_group_add_..._actions_full() functions.
-   */
-  guint i;
-  GSList *group = NULL;
-  GtkAction *first_action = NULL;
-
-  g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
-
-  for (i = 0; i < n_entries; i++)
-    {
-      GtkAction *action;
-      const gchar *label;
-      const gchar *tooltip; 
-
-      if (!check_unique_action (action_group, entries[i].name))
-        continue;
-
-      label = gtk_action_group_translate_string (action_group, entries[i].label);
-      tooltip = gtk_action_group_translate_string (action_group, entries[i].tooltip);
-
-      if (entries[i].stock_id) 
-       {
-          g_object_set (action, "icon-name", entries[i].stock_id, NULL);
-       }
-
-      if (i == 0) 
-       first_action = action;
-
-      gtk_action_group_add_action_with_accel (action_group, 
-                                             GTK_ACTION (action),
-                                             entries[i].accelerator);
-      g_object_unref (action);
-    }
-
-  if (on_change && first_action)
-    g_signal_connect_data (first_action, "changed",
-                          on_change, user_data, 
-                          (GClosureNotify)destroy, 0);
-}
-
-/**
- * gtk_action_group_set_translate_func:
- * @action_group: a #GtkActionGroup
- * @func: a #GtkTranslateFunc
- * @data: data to be passed to @func and @notify
- * @notify: a #GDestroyNotify function to be called when @action_group is
- *   destroyed and when the translation function is changed again
- *
- * Sets a function to be used for translating the @label and @tooltip of 
- * #GtkActionEntrys added by gtk_action_group_add_actions().
- *
- * If you’re using gettext(), it is enough to set the translation domain
- * with gtk_action_group_set_translation_domain().
- *
- * Since: 2.4 
- *
- * Deprecated: 3.10
- **/
-void
-gtk_action_group_set_translate_func (GtkActionGroup   *action_group,
-                                    gpointer          data,
-                                    GDestroyNotify    notify)
-{
-  GtkActionGroupPrivate *private;
-
-  g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
-  
-  private = action_group->priv;
-
-  if (private->translate_notify)
-    private->translate_notify (private->translate_data);
-      
-  private->translate_data = data;
-  private->translate_notify = notify;
-}
-
-static gchar *
-dgettext_swapped (const gchar *msgid, 
-                 const gchar *domainname)
-{
-  /* Pass through g_dgettext if and only if msgid is nonempty. */
-  if (msgid && *msgid) 
-    return (gchar*) g_dgettext (domainname, msgid); 
-  else
-    return (gchar*) msgid;
-}
-
-/**
- * gtk_action_group_set_translation_domain:
- * @action_group: a #GtkActionGroup
- * @domain: (allow-none): the translation domain to use for g_dgettext()
- * calls, or %NULL to use the domain set with textdomain()
- * 
- * Sets the translation domain and uses g_dgettext() for translating the 
- * @label and @tooltip of #GtkActionEntrys added by 
- * gtk_action_group_add_actions().
- *
- * If you’re not using gettext() for localization, see 
- * gtk_action_group_set_translate_func().
- *
- * Since: 2.4
- *
- * Deprecated: 3.10
- **/
-void 
-gtk_action_group_set_translation_domain (GtkActionGroup *action_group,
-                                        const gchar    *domain)
-{
-  g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
-
-  gtk_action_group_set_translate_func (action_group, 
-                                      g_strdup (domain),
-                                      g_free);
-} 
-
-
-/**
- * gtk_action_group_translate_string:
- * @action_group: a #GtkActionGroup
- * @string: a string
- *
- * Translates a string using the function set with 
- * gtk_action_group_set_translate_func(). This
- * is mainly intended for language bindings.
- *
- * Returns: the translation of @string
- *
- * Since: 2.6
- *
- * Deprecated: 3.10
- **/
-const gchar *
-gtk_action_group_translate_string (GtkActionGroup *action_group,
-                                  const gchar    *string)
-{
-  GtkActionGroupPrivate *private;
-  gpointer translate_data;
-  
-  g_return_val_if_fail (GTK_IS_ACTION_GROUP (action_group), string);
-  
-  if (string == NULL)
-    return NULL;
-
-  private = action_group->priv;
-
-  translate_data = private->translate_data;
-  
-    return string;
-}
-
-/* Protected for use by GtkAction */
-void
-_gtk_action_group_emit_connect_proxy  (GtkActionGroup *action_group,
-                                       GtkAction      *action,
-                                       GtkWidget      *proxy)
-{
-  g_signal_emit (action_group, action_group_signals[CONNECT_PROXY], 0, 
-                 action, proxy);
-}
-
-void
-_gtk_action_group_emit_disconnect_proxy  (GtkActionGroup *action_group,
-                                          GtkAction      *action,
-                                          GtkWidget      *proxy)
-{
-  g_signal_emit (action_group, action_group_signals[DISCONNECT_PROXY], 0, 
-                 action, proxy);
-}
-
-void
-_gtk_action_group_emit_pre_activate  (GtkActionGroup *action_group,
-                                     GtkAction      *action)
-{
-  g_signal_emit (action_group, action_group_signals[PRE_ACTIVATE], 0, action);
-}
-
-void
-_gtk_action_group_emit_post_activate (GtkActionGroup *action_group,
-                                     GtkAction      *action)
-{
-  g_signal_emit (action_group, action_group_signals[POST_ACTIVATE], 0, action);
-}
diff --git a/gtk/deprecated/gtkactiongroup.h b/gtk/deprecated/gtkactiongroup.h
deleted file mode 100644 (file)
index ad890f8..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-/*
- * GTK - The GIMP Toolkit
- * Copyright (C) 1998, 1999 Red Hat, Inc.
- * All rights reserved.
- *
- * This Library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This Library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/*
- * Author: James Henstridge <james@daa.com.au>
- *
- * Modified by the GTK+ Team and others 2003.  See the AUTHORS
- * file for a list of people on the GTK+ Team.  See the ChangeLog
- * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#ifndef __GTK_ACTION_GROUP_H__
-#define __GTK_ACTION_GROUP_H__
-
-#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
-#error "Only <gtk/gtk.h> can be included directly."
-#endif
-
-#include <gtk/deprecated/gtkaction.h>
-
-G_BEGIN_DECLS
-
-#define GTK_TYPE_ACTION_GROUP              (gtk_action_group_get_type ())
-#define GTK_ACTION_GROUP(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ACTION_GROUP, GtkActionGroup))
-#define GTK_ACTION_GROUP_CLASS(vtable)     (G_TYPE_CHECK_CLASS_CAST ((vtable), GTK_TYPE_ACTION_GROUP, GtkActionGroupClass))
-#define GTK_IS_ACTION_GROUP(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ACTION_GROUP))
-#define GTK_IS_ACTION_GROUP_CLASS(vtable)  (G_TYPE_CHECK_CLASS_TYPE ((vtable), GTK_TYPE_ACTION_GROUP))
-#define GTK_ACTION_GROUP_GET_CLASS(inst)   (G_TYPE_INSTANCE_GET_CLASS ((inst), GTK_TYPE_ACTION_GROUP, GtkActionGroupClass))
-
-typedef struct _GtkActionGroup        GtkActionGroup;
-typedef struct _GtkActionGroupPrivate GtkActionGroupPrivate;
-typedef struct _GtkActionGroupClass   GtkActionGroupClass;
-typedef struct _GtkActionEntry        GtkActionEntry;
-typedef struct _GtkToggleActionEntry  GtkToggleActionEntry;
-typedef struct _GtkRadioActionEntry   GtkRadioActionEntry;
-
-struct _GtkActionGroup
-{
-  GObject parent;
-
-  /*< private >*/
-  GtkActionGroupPrivate *priv;
-};
-
-/**
- * GtkActionGroupClass:
- * @parent_class: The parent class.
- * @get_action: Looks up an action in the action group by name.
- */
-struct _GtkActionGroupClass
-{
-  GObjectClass parent_class;
-
-  GtkAction *(* get_action) (GtkActionGroup *action_group,
-                             const gchar    *action_name);
-
-  /*< private >*/
-
-  /* Padding for future expansion */
-  void (*_gtk_reserved1) (void);
-  void (*_gtk_reserved2) (void);
-  void (*_gtk_reserved3) (void);
-  void (*_gtk_reserved4) (void);
-};
-
-/**
- * GtkActionEntry:
- * @name: The name of the action.
- * @stock_id: The stock id for the action, or the name of an icon from the
- *  icon theme.
- * @label: The label for the action. This field should typically be marked
- *  for translation, see gtk_action_group_set_translation_domain(). If
- *  @label is %NULL, the label of the stock item with id @stock_id is used.
- * @accelerator: The accelerator for the action, in the format understood by
- *  gtk_accelerator_parse().
- * @tooltip: The tooltip for the action. This field should typically be
- *  marked for translation, see gtk_action_group_set_translation_domain().
- * @callback: The function to call when the action is activated.
- *
- * #GtkActionEntry structs are used with gtk_action_group_add_actions() to
- * construct actions.
- *
- * Deprecated: 3.10
- */
-struct _GtkActionEntry 
-{
-  const gchar     *name;
-  const gchar     *stock_id;
-  const gchar     *label;
-  const gchar     *accelerator;
-  const gchar     *tooltip;
-  GCallback  callback;
-};
-
-/**
- * GtkToggleActionEntry:
- * @name: The name of the action.
- * @stock_id: The stock id for the action, or the name of an icon from the
- *  icon theme.
- * @label: The label for the action. This field should typically be marked
- *  for translation, see gtk_action_group_set_translation_domain().
- * @accelerator: The accelerator for the action, in the format understood by
- *  gtk_accelerator_parse().
- * @tooltip: The tooltip for the action. This field should typically be
- *  marked for translation, see gtk_action_group_set_translation_domain().
- * @callback: The function to call when the action is activated.
- * @is_active: The initial state of the toggle action.
- *
- * #GtkToggleActionEntry structs are used with
- * gtk_action_group_add_toggle_actions() to construct toggle actions.
- *
- * Deprecated: 3.10
- */
-struct _GtkToggleActionEntry 
-{
-  const gchar     *name;
-  const gchar     *stock_id;
-  const gchar     *label;
-  const gchar     *accelerator;
-  const gchar     *tooltip;
-  GCallback  callback;
-  gboolean   is_active;
-};
-
-/**
- * GtkRadioActionEntry:
- * @name: The name of the action.
- * @stock_id: The stock id for the action, or the name of an icon from the
- *  icon theme.
- * @label: The label for the action. This field should typically be marked
- *  for translation, see gtk_action_group_set_translation_domain().
- * @accelerator: The accelerator for the action, in the format understood by
- *  gtk_accelerator_parse().
- * @tooltip: The tooltip for the action. This field should typically be
- *  marked for translation, see gtk_action_group_set_translation_domain().
- * @value: The value to set on the radio action. See
- *  gtk_radio_action_get_current_value().
- *
- * #GtkRadioActionEntry structs are used with
- * gtk_action_group_add_radio_actions() to construct groups of radio actions.
- *
- * Deprecated: 3.10
- */
-struct _GtkRadioActionEntry 
-{
-  const gchar *name;
-  const gchar *stock_id;
-  const gchar *label;
-  const gchar *accelerator;
-  const gchar *tooltip;
-  gint   value; 
-};
-
-GDK_DEPRECATED_IN_3_10
-GType           gtk_action_group_get_type                (void) G_GNUC_CONST;
-GDK_DEPRECATED_IN_3_10
-GtkActionGroup *gtk_action_group_new                     (const gchar                *name);
-GDK_DEPRECATED_IN_3_10
-const gchar    *gtk_action_group_get_name                (GtkActionGroup             *action_group);
-GDK_DEPRECATED_IN_3_10
-gboolean        gtk_action_group_get_sensitive           (GtkActionGroup             *action_group);
-GDK_DEPRECATED_IN_3_10
-void            gtk_action_group_set_sensitive           (GtkActionGroup             *action_group,
-                                                         gboolean                    sensitive);
-GDK_DEPRECATED_IN_3_10
-gboolean        gtk_action_group_get_visible             (GtkActionGroup             *action_group);
-GDK_DEPRECATED_IN_3_10
-void            gtk_action_group_set_visible             (GtkActionGroup             *action_group,
-                                                         gboolean                    visible);
-GDK_DEPRECATED_IN_3_10
-GtkAccelGroup  *gtk_action_group_get_accel_group         (GtkActionGroup             *action_group);
-GDK_DEPRECATED_IN_3_10
-void            gtk_action_group_set_accel_group         (GtkActionGroup             *action_group,
-                                                          GtkAccelGroup              *accel_group);
-
-GDK_DEPRECATED_IN_3_10
-GtkAction      *gtk_action_group_get_action              (GtkActionGroup             *action_group,
-                                                         const gchar                *action_name);
-GDK_DEPRECATED_IN_3_10
-GList          *gtk_action_group_list_actions            (GtkActionGroup             *action_group);
-GDK_DEPRECATED_IN_3_10
-void            gtk_action_group_add_action              (GtkActionGroup             *action_group,
-                                                         GtkAction                  *action);
-GDK_DEPRECATED_IN_3_10
-void            gtk_action_group_add_action_with_accel   (GtkActionGroup             *action_group,
-                                                         GtkAction                  *action,
-                                                         const gchar                *accelerator);
-GDK_DEPRECATED_IN_3_10
-void            gtk_action_group_remove_action           (GtkActionGroup             *action_group,
-                                                         GtkAction                  *action);
-GDK_DEPRECATED_IN_3_10
-void            gtk_action_group_add_actions             (GtkActionGroup             *action_group,
-                                                         const GtkActionEntry       *entries,
-                                                         guint                       n_entries,
-                                                         gpointer                    user_data);
-GDK_DEPRECATED_IN_3_10
-void            gtk_action_group_add_toggle_actions      (GtkActionGroup             *action_group,
-                                                         const GtkToggleActionEntry *entries,
-                                                         guint                       n_entries,
-                                                         gpointer                    user_data);
-GDK_DEPRECATED_IN_3_10
-void            gtk_action_group_add_radio_actions       (GtkActionGroup             *action_group,
-                                                         const GtkRadioActionEntry  *entries,
-                                                         guint                       n_entries,
-                                                         gint                        value,
-                                                         GCallback                   on_change,
-                                                         gpointer                    user_data);
-GDK_DEPRECATED_IN_3_10
-void            gtk_action_group_add_actions_full        (GtkActionGroup             *action_group,
-                                                         const GtkActionEntry       *entries,
-                                                         guint                       n_entries,
-                                                         gpointer                    user_data,
-                                                         GDestroyNotify              destroy);
-GDK_DEPRECATED_IN_3_10
-void            gtk_action_group_add_toggle_actions_full (GtkActionGroup             *action_group,
-                                                         const GtkToggleActionEntry *entries,
-                                                         guint                       n_entries,
-                                                         gpointer                    user_data,
-                                                         GDestroyNotify              destroy);
-GDK_DEPRECATED_IN_3_10
-void            gtk_action_group_add_radio_actions_full  (GtkActionGroup             *action_group,
-                                                         const GtkRadioActionEntry  *entries,
-                                                         guint                       n_entries,
-                                                         gint                        value,
-                                                         GCallback                   on_change,
-                                                         gpointer                    user_data,
-                                                         GDestroyNotify              destroy);
-GDK_DEPRECATED_IN_3_10
-void            gtk_action_group_set_translate_func      (GtkActionGroup             *action_group,
-                                                         gpointer                    data,
-                                                         GDestroyNotify              notify);
-GDK_DEPRECATED_IN_3_10
-void            gtk_action_group_set_translation_domain  (GtkActionGroup             *action_group,
-                                                         const gchar                *domain);
-GDK_DEPRECATED_IN_3_10
-const gchar *   gtk_action_group_translate_string        (GtkActionGroup             *action_group,
-                                                         const gchar                *string);
-
-/* Protected for use by GtkAction */
-void _gtk_action_group_emit_connect_proxy    (GtkActionGroup *action_group,
-                                              GtkAction      *action,
-                                              GtkWidget      *proxy);
-void _gtk_action_group_emit_disconnect_proxy (GtkActionGroup *action_group,
-                                              GtkAction      *action,
-                                              GtkWidget      *proxy);
-void _gtk_action_group_emit_pre_activate     (GtkActionGroup *action_group,
-                                              GtkAction      *action);
-void _gtk_action_group_emit_post_activate    (GtkActionGroup *action_group,
-                                              GtkAction      *action);
-
-G_END_DECLS
-
-#endif  /* __GTK_ACTION_GROUP_H__ */
index 872471819d6ba73e2b330326ba2b7386e8d01cfe..aa3c5ca81eac68af434d8c1a2613ce236db15e19 100644 (file)
--- a/gtk/gtk.h
+++ b/gtk/gtk.h
 
 #ifndef GTK_DISABLE_DEPRECATED
 #include <gtk/deprecated/gtkaction.h>
-#include <gtk/deprecated/gtkactiongroup.h>
 #include <gtk/deprecated/gtkgradient.h>
 #include <gtk/deprecated/gtksymboliccolor.h>
 #endif /* GTK_DISABLE_DEPRECATED */
index 15a6f0f27d2ac698231879c4d267409f3e2c99a3..97d8b637e18b27df218e166921d4f60ab2d273be 100644 (file)
@@ -124,7 +124,6 @@ noinst_PROGRAMS =  $(TEST_PROGS)    \
        testverticalcells               \
        treestoretest                   \
        testxinerama                    \
-       testactions                     \
        testgrouping                    \
        testtooltips                    \
        testexpand                      \
@@ -249,7 +248,6 @@ testtreesort_DEPENDENCIES = $(DEPS)
 testverticalcells_DEPENDENCIES = $(DEPS)
 treestoretest_DEPENDENCIES = $(TEST_DEPS)
 testxinerama_DEPENDENCIES = $(TEST_DEPS)
-testactions_DEPENDENCIES = $(TEST_DEPS)
 testgrouping_DEPENDENCIES = $(TEST_DEPS)
 testtooltips_DEPENDENCIES = $(TEST_DEPS)
 testvolumebutton_DEPENDENCIES = $(TEST_DEPS)
@@ -372,9 +370,6 @@ testprint_SOURCES =         \
 testspinbutton_SOURCES =       \
        testspinbutton.c
 
-testactions_SOURCES =          \
-       testactions.c
-
 testbaseline_SOURCES =                 \
        testbaseline.c
 
diff --git a/tests/testactions.c b/tests/testactions.c
deleted file mode 100644 (file)
index 20065df..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-/* testactions.c
- * Copyright (C) 2003  Matthias Clasen
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "config.h"
-#define GDK_DISABLE_DEPRECATION_WARNINGS
-#include <gtk/gtk.h>
-
-static GtkActionGroup *action_group = NULL;
-static GtkToolbar *toolbar = NULL;
-
-static void
-activate_action (GtkAction *action)
-{
-  const gchar *name = gtk_action_get_name (action);
-  const gchar *typename = G_OBJECT_TYPE_NAME (action);
-
-  g_message ("Action %s (type=%s) activated", name, typename);
-}
-
-static void
-recent_action (GtkAction *action)
-{
-  const gchar *name = gtk_action_get_name (action);
-  const gchar *typename = G_OBJECT_TYPE_NAME (action);
-  gchar *uri = gtk_recent_chooser_get_current_uri (GTK_RECENT_CHOOSER (action));
-
-  g_message ("Action %s (type=%s) activated (uri=%s)",
-             name, typename,
-             uri ? uri : "no item selected");
-  g_free (uri);
-}
-
-static void
-toggle_cnp_actions (GtkAction *action)
-{
-  gboolean sensitive = FALSE;
-
-  action = gtk_action_group_get_action (action_group, "cut");
-  g_object_set (action, "sensitive", sensitive, NULL);
-  action = gtk_action_group_get_action (action_group, "copy");
-  g_object_set (action, "sensitive", sensitive, NULL);
-  action = gtk_action_group_get_action (action_group, "paste");
-  g_object_set (action, "sensitive", sensitive, NULL);
-
-  action = gtk_action_group_get_action (action_group, "toggle-cnp");
-  if (sensitive)
-    g_object_set (action, "label", "Disable Cut and paste ops", NULL);
-  else
-    g_object_set (action, "label", "Enable Cut and paste ops", NULL);
-}
-
-static void
-show_accel_dialog (GtkAction *action)
-{
-  g_message ("Sorry, accel dialog not available");
-}
-
-static void
-toolbar_size_small (GtkAction *action)
-{
-  g_return_if_fail (toolbar != NULL);
-
-  gtk_toolbar_set_icon_size (toolbar, GTK_ICON_SIZE_SMALL_TOOLBAR);
-}
-
-static void
-toolbar_size_large (GtkAction *action)
-{
-  g_return_if_fail (toolbar != NULL);
-
-  gtk_toolbar_set_icon_size (toolbar, GTK_ICON_SIZE_LARGE_TOOLBAR);
-}
-
-/* convenience functions for declaring actions */
-static GtkActionEntry entries[] = {
-  { "Menu1Action", NULL, "Menu _1" },
-  { "Menu2Action", NULL, "Menu _2" },
-  { "Menu3Action", NULL, "_Dynamic Menu" },
-
-  { "attach", "mail-attachment", "_Attachment...", "<Control>m",
-    "Attach a file", G_CALLBACK (activate_action) },
-  { "cut", NULL, "C_ut", "<control>X",
-    "Cut the selected text to the clipboard", G_CALLBACK (activate_action) },
-  { "copy", NULL, "_Copy", "<control>C",
-    "Copy the selected text to the clipboard", G_CALLBACK (activate_action) },
-  { "paste", NULL, "_Paste", "<control>V",
-    "Paste the text from the clipboard", G_CALLBACK (activate_action) },
-  { "quit", NULL,  NULL, "<control>Q",
-    "Quit the application", G_CALLBACK (gtk_main_quit) },
-  { "customise-accels", NULL, "Customise _Accels", NULL,
-    "Customise keyboard shortcuts", G_CALLBACK (show_accel_dialog) },
-  { "toolbar-small-icons", NULL, "Small Icons", NULL, 
-    NULL, G_CALLBACK (toolbar_size_small) },
-  { "toolbar-large-icons", NULL, "Large Icons", NULL,
-    NULL, G_CALLBACK (toolbar_size_large) }
-};
-static guint n_entries = G_N_ELEMENTS (entries);
-
-enum {
-  JUSTIFY_LEFT,
-  JUSTIFY_CENTER,
-  JUSTIFY_RIGHT,
-  JUSTIFY_FILL
-};
-
-/* XML description of the menus for the test app.  The parser understands
- * a subset of the Bonobo UI XML format, and uses GMarkup for parsing */
-static const gchar *ui_info =
-"  <menubar>\n"
-"    <menu name=\"Menu _1\" action=\"Menu1Action\">\n"
-"      <menuitem name=\"cut\" action=\"cut\" />\n"
-"      <menuitem name=\"copy\" action=\"copy\" />\n"
-"      <menuitem name=\"paste\" action=\"paste\" />\n"
-"      <separator name=\"sep1\" />\n"
-"      <menuitem name=\"bold1\" action=\"bold\" />\n"
-"      <menuitem name=\"bold2\" action=\"bold\" />\n"
-"      <separator name=\"sep2\" />\n"
-"      <menuitem name=\"recent\" action=\"recent\" />\n"
-"      <separator name=\"sep3\" />\n"
-"      <menuitem name=\"toggle-cnp\" action=\"toggle-cnp\" />\n"
-"      <separator name=\"sep4\" />\n"
-"      <menuitem name=\"quit\" action=\"quit\" />\n"
-"    </menu>\n"
-"    <menu name=\"Menu _2\" action=\"Menu2Action\">\n"
-"      <menuitem name=\"cut\" action=\"cut\" />\n"
-"      <menuitem name=\"copy\" action=\"copy\" />\n"
-"      <menuitem name=\"paste\" action=\"paste\" />\n"
-"      <separator name=\"sep5\"/>\n"
-"      <menuitem name=\"bold\" action=\"bold\" />\n"
-"      <separator name=\"sep6\"/>\n"
-"      <menuitem name=\"justify-left\" action=\"justify-left\" />\n"
-"      <menuitem name=\"justify-center\" action=\"justify-center\" />\n"
-"      <menuitem name=\"justify-right\" action=\"justify-right\" />\n"
-"      <menuitem name=\"justify-fill\" action=\"justify-fill\" />\n"
-"      <separator name=\"sep7\"/>\n"
-"      <menuitem  name=\"customise-accels\" action=\"customise-accels\" />\n"
-"      <separator name=\"sep8\"/>\n"
-"      <menuitem action=\"toolbar-icons\" />\n"
-"      <menuitem action=\"toolbar-text\" />\n"
-"      <menuitem action=\"toolbar-both\" />\n"
-"      <menuitem action=\"toolbar-both-horiz\" />\n"
-"      <separator name=\"sep9\"/>\n"
-"      <menuitem action=\"toolbar-small-icons\" />\n"
-"      <menuitem action=\"toolbar-large-icons\" />\n"
-"    </menu>\n"
-"    <menu name=\"DynamicMenu\" action=\"Menu3Action\" />\n"
-"  </menubar>\n"
-"  <toolbar name=\"toolbar\">\n"
-"    <toolitem name=\"attach\" action=\"attach\" />\n"
-"    <toolitem name=\"cut\" action=\"cut\" />\n"
-"    <toolitem name=\"copy\" action=\"copy\" />\n"
-"    <toolitem name=\"paste\" action=\"paste\" />\n"
-"    <toolitem name=\"recent\" action=\"recent\" />\n"
-"    <separator name=\"sep10\" />\n"
-"    <toolitem name=\"bold\" action=\"bold\" />\n"
-"    <separator name=\"sep11\" />\n"
-"    <toolitem name=\"justify-left\" action=\"justify-left\" />\n"
-"    <toolitem name=\"justify-center\" action=\"justify-center\" />\n"
-"    <toolitem name=\"justify-right\" action=\"justify-right\" />\n"
-"    <toolitem name=\"justify-fill\" action=\"justify-fill\" />\n"
-"    <separator name=\"sep12\"/>\n"
-"    <toolitem name=\"quit\" action=\"quit\" />\n"
-"  </toolbar>\n"
-"  <popup name=\"popup\">\n"
-"    <menuitem name=\"popcut\" action=\"cut\" />\n"
-"    <menuitem name=\"popcopy\" action=\"copy\" />\n"
-"    <menuitem name=\"poppaste\" action=\"paste\" />\n"
-"  </popup>\n";
-
-static guint ui_id = 0;
-static GtkActionGroup *dag = NULL;
-
-static void
-create_window (GtkActionGroup *action_group)
-{
- }
-
-int
-main (int argc, char **argv)
-{
-  GtkAction *action;
-
-  gtk_init (&argc, &argv);
-
-  if (g_file_test ("accels", G_FILE_TEST_IS_REGULAR))
-    gtk_accel_map_load ("accels");
-
-  action_group = gtk_action_group_new ("TestActions");
-  gtk_action_group_add_actions (action_group, 
-                               entries, n_entries, 
-                               NULL);
-
-  create_window (action_group);
-
-  gtk_main ();
-
-  g_object_unref (action);
-  g_object_unref (action_group);
-
-  gtk_accel_map_save ("accels");
-
-  return 0;
-}
index f5b61a3488637e4a0b15936dcd95fb09c9432084..fadb05fe7f8baccf1798fe9d000c93d64f985a33 100644 (file)
@@ -800,159 +800,6 @@ new_pixbuf (char      *filename,
   return widget;
 }
 
-
-static void
-set_toolbar_small_stock (GtkWidget *widget,
-                        gpointer   data)
-{
-  gtk_toolbar_set_icon_size (GTK_TOOLBAR (data), GTK_ICON_SIZE_SMALL_TOOLBAR);
-}
-
-static void
-set_toolbar_large_stock (GtkWidget *widget,
-                        gpointer   data)
-{
-  gtk_toolbar_set_icon_size (GTK_TOOLBAR (data), GTK_ICON_SIZE_LARGE_TOOLBAR);
-}
-
-static void
-set_toolbar_horizontal (GtkWidget *widget,
-                       gpointer   data)
-{
-  gtk_orientable_set_orientation (GTK_ORIENTABLE (data), GTK_ORIENTATION_HORIZONTAL);
-}
-
-static void
-set_toolbar_vertical (GtkWidget *widget,
-                     gpointer   data)
-{
-  gtk_orientable_set_orientation (GTK_ORIENTABLE (data), GTK_ORIENTATION_VERTICAL);
-}
-
-static void
-set_toolbar_icons (GtkWidget *widget,
-                  gpointer   data)
-{
-  gtk_toolbar_set_style (GTK_TOOLBAR (data), GTK_TOOLBAR_ICONS);
-}
-
-static void
-set_toolbar_text (GtkWidget *widget,
-                 gpointer   data)
-{
-  gtk_toolbar_set_style (GTK_TOOLBAR (data), GTK_TOOLBAR_TEXT);
-}
-
-static void
-set_toolbar_both (GtkWidget *widget,
-                 gpointer   data)
-{
-  gtk_toolbar_set_style (GTK_TOOLBAR (data), GTK_TOOLBAR_BOTH);
-}
-
-static void
-set_toolbar_both_horiz (GtkWidget *widget,
-                       gpointer   data)
-{
-  gtk_toolbar_set_style (GTK_TOOLBAR (data), GTK_TOOLBAR_BOTH_HORIZ);
-}
-
-static GtkActionEntry create_toolbar_items[] = {
-    { NULL, NULL, NULL, NULL, "Stock icon: New",
-      G_CALLBACK (set_toolbar_small_stock) },
-    { NULL, NULL, NULL, NULL, "Stock icon: Open",
-      G_CALLBACK (set_toolbar_large_stock) },
-    { NULL, NULL, "Horizontal", NULL, "Horizontal toolbar layout",
-      G_CALLBACK (set_toolbar_horizontal) },
-    { NULL, NULL, "Vertical", NULL, "Vertical toolbar layout",
-      G_CALLBACK (set_toolbar_vertical) },
-    { NULL },
-    { NULL, NULL, "Icons", NULL, "Only show toolbar icons",
-      G_CALLBACK (set_toolbar_icons) },
-    { NULL, NULL, "Text", NULL, "Only show toolbar text",
-      G_CALLBACK (set_toolbar_text) },
-    { NULL, NULL, "Both", NULL, "Show toolbar icons and text",
-      G_CALLBACK (set_toolbar_both) },
-    { NULL, NULL, "Both (horizontal)", NULL, "Show toolbar icons and text in a horizontal fashion",
-      G_CALLBACK (set_toolbar_both_horiz) },
-    { NULL },
-    { "entry", NULL, NULL, "This is an unusable GtkEntry ;)",
-      NULL },
-    { NULL },
-    { NULL },
-    { NULL, NULL, "Frobate", NULL, "Frobate tooltip",
-      NULL },
-    { NULL, NULL, "Baz", NULL, "Baz tooltip",
-      NULL },
-    { NULL },
-    { NULL, NULL, "Blah", NULL, "Blash tooltip",
-      NULL },
-    { NULL, NULL, "Bar", NULL, "Bar tooltip",
-      NULL },
-};
-
-static void
-create_toolbar (GtkWidget *widget)
-{
-  static GtkWidget *window = NULL;
-  GtkWidget *toolbar;
-
-  if (!window)
-    {
-      guint i;
-
-      window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-      gtk_window_set_screen (GTK_WINDOW (window),
-                            gtk_widget_get_screen (widget));
-      
-      gtk_window_set_title (GTK_WINDOW (window), "Toolbar test");
-
-      g_signal_connect (window, "destroy",
-                       G_CALLBACK (gtk_widget_destroyed),
-                       &window);
-
-      gtk_widget_realize (window);
-
-      toolbar = gtk_toolbar_new ();
-      for (i = 0; i < G_N_ELEMENTS (create_toolbar_items); i++)
-        {
-          GtkToolItem *toolitem;
-
-          if (create_toolbar_items[i].tooltip == NULL)
-            toolitem = gtk_separator_tool_item_new ();
-          else if (g_strcmp0 (create_toolbar_items[i].name, "entry") == 0)
-            {
-              GtkWidget *entry;
-
-              toolitem = gtk_tool_item_new ();
-              entry = gtk_entry_new ();
-              gtk_container_add (GTK_CONTAINER (toolitem), entry);
-            }
-          else
-            {
-              GtkWidget *icon;
-
-              icon = new_pixbuf ("test.xpm", gtk_widget_get_window (window));
-              toolitem = gtk_tool_button_new (icon, create_toolbar_items[i].label);
-            }
-          if (create_toolbar_items[i].callback)
-            g_signal_connect (toolitem, "clicked",
-                              create_toolbar_items[i].callback, toolbar);
-          gtk_tool_item_set_tooltip_text (toolitem, create_toolbar_items[i].tooltip);
-          gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, -1);
-        }
-
-      gtk_container_add (GTK_CONTAINER (window), toolbar);
-
-      gtk_widget_set_size_request (toolbar, 200, -1);
-    }
-
-  if (!gtk_widget_get_visible (window))
-    gtk_widget_show_all (window);
-  else
-    gtk_widget_destroy (window);
-}
-
 /*
  * GtkStatusBar
  */
@@ -9023,7 +8870,6 @@ struct {
   { "test selection", create_selection_test },
   { "test timeout", create_timeout_test },
   { "toggle buttons", create_toggle_buttons },
-  { "toolbar", create_toolbar },
   { "tooltips", create_tooltips },
   { "WM hints", create_wmhints },
   { "window sizing", create_window_sizing },
index 93338f78d0e8774f93aa4f907a2d1358c1ea15cd..f2a01f399a88f3bde86d2f2f2d947ec36df8a12c 100644 (file)
@@ -1961,32 +1961,6 @@ test_add_objects (void)
     "    </child>"
     "  </object>"
     "<interface/>";
-  const gchar buffer2[] =
-    "<interface>"
-    "  <object class=\"GtkLabel\" id=\"uimgr1\">"
-    "    <child>"
-    "      <object class=\"GtkActionGroup\" id=\"ag1\">"
-    "        <child>"
-    "          <object class=\"GtkAction\" id=\"file\">"
-    "            <property name=\"label\">_File</property>"
-    "          </object>"
-    "          <accelerator key=\"n\" modifiers=\"GDK_CONTROL_MASK\"/>"
-    "        </child>"
-    "      </object>"
-    "    </child>"
-    "    <ui>"
-    "      <menubar name=\"menubar1\">"
-    "        <menu action=\"file\">"
-    "        </menu>"
-    "      </menubar>"
-    "    </ui>"
-    "  </object>"
-    "  <object class=\"GtkWindow\" id=\"window1\">"
-    "    <child>"
-    "      <object class=\"GtkMenuBar\" id=\"menubar1\" constructor=\"uimgr1\"/>"
-    "    </child>"
-    "  </object>"
-    "</interface>";
 
   error = NULL;
   builder = gtk_builder_new ();
index de12a956dc963cfd8491f166135a255f5f2adb28..c5dbd23d3c7e2934b994ad18fe43ea17eb2020b9 100644 (file)
@@ -517,8 +517,7 @@ test_type (gconstpointer data)
         continue;
 
       /* Deprecated, not getting fixed */
-      if (g_str_equal (g_type_name (pspec->owner_type), "GtkActionGroup") ||
-          g_str_equal (g_type_name (pspec->owner_type), "GtkAction"))
+      if (g_str_equal (g_type_name (pspec->owner_type), "GtkAction"))
         continue;
 
       if (g_type_is_a (pspec->owner_type, GTK_TYPE_CONTAINER) &&
index e82e796dd04d554967aa2d20fd6e296b20bd471b..c4a02a119255ca8d3474cc043e1d016afb8d7cf7 100644 (file)
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
-  <object class="GtkActionGroup" id="actiongroup1"/>
   <object class="GtkWindow" id="window1">
     <property name="width_request">20</property>
     <property name="height_request">20</property>
index de1f80bf144a19eaf13bbd77994427dad797c657..2c21f60fbf54a6f5d7eaff272e1eca693a878fd6 100644 (file)
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
-  <object class="GtkActionGroup" id="actiongroup1"/>
   <object class="GtkWindow" id="window1">
     <property name="width_request">20</property>
     <property name="height_request">20</property>
index 98f1f3110795202b997ca493dbb4bff381767fb0..eadb441ed402b16fb75960a6184536969db5a6de 100644 (file)
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
-  <object class="GtkActionGroup" id="actiongroup1"/>
   <object class="GtkWindow" id="window1">
     <property name="width_request">10</property>
     <property name="height_request">10</property>
index 98f1f3110795202b997ca493dbb4bff381767fb0..eadb441ed402b16fb75960a6184536969db5a6de 100644 (file)
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
-  <object class="GtkActionGroup" id="actiongroup1"/>
   <object class="GtkWindow" id="window1">
     <property name="width_request">10</property>
     <property name="height_request">10</property>